
package cn.jbolt.ai.resource.vdb.service;


import com.baomidou.mybatisplus.extension.service.IService;
import cn.jbolt.ai.resource.vdb.entity.VDBResource;
import cn.jbolt.util.Result;

public interface VDBResourceService extends IService<VDBResource> {

    /**
     * 根据ID获取资源信息
     *
     * @param id 资源ID
     * @return 资源信息
     */
    Result<VDBResource> getResourceById(Long id);

    /**
     * 获取所有资源信息
     *
     * @param page     页码
     * @param pageSize 每页大小
     * @param keywords  关键字
     * @return 所有资源列表
     */
    Result listByPage(Integer page, Integer pageSize, String keywords);

    /**
     * 添加新的资源
     *
     * @param resource 新的资源对象
     * @return 是否添加成功
     */
    Result add(VDBResource resource);

    /**
     * 更新资源信息
     *
     * @param resource 需要更新的资源对象
     * @return 是否更新成功
     */
    Result update(VDBResource resource);

    /**
     * 删除资源
     *
     * @param id 资源ID
     * @return 是否删除成功
     */
    Result del(Long id);

    /**
     * 修改资源的启用状态
     *
     * @param
     * @param id 资源ID
     * @return 是否修改成功
     */
    Result toggleEnable(Long id);

    /**
     * 项目启动的时候,注册已经开启的资源
     */
     void registerAllResource();

    Result listAllEnabledType();
}
